package file;

import java.io.File;

/**
 * @author LIBOFEI
 * @ClassName PrintFile
 * @description
 * @date 2021/3/26 18:35
 * @Version 1.0
 **/
public class PrintFile  {


    public static void main(String[] args) {

//        printDir(new File("/Users/mac/workSpace/v3/microsvc/main/src/main/java/com/jc/os/microsvc"),0);
//        printDir(new File("/Users/mac/workSpace/v3/microsvc/main/src/main/resources"),0);
//        printDir(new File("/Users/mac/workSpace/v3/microsvc/shop/src/main/java/com/jc/os/microsvc"),0);
        printDir(new File("/Users/mac/workSpace/my_demo/self_demo/src/main/java"),0);
//        System.out.println("print dir success!");
    }


    /**
     * 编写打印目录和文件的代码，在main()方法中调用此方法。
     * @param f 一个file对象
     */
    static  void printDir(File f,int level){
        System.out.println(f.getName());
        if(f.isDirectory()){
            //3. 否则获取目录中的所有内容，分别打印
            //3.1 获取目录中的所有内容
            File files[] = f.listFiles();
            //3.2 打印
            for (File file : files) {
                for(int i = 0 ; i <= level ;i++){
                    //使用递归实现相同的功能
                    System.out.print("\t");
                }
                printDir(file,level+1);

            }
        }
    }
}
